	glNewList( m_GroundListBase, GL_COMPILE );						// Start Building A List
	{
		//glLoadIdentity();									//Reset The Modelview Matrix
		for ( DWORD y = 0; y < m_Height; y++ )
		{
			for ( DWORD x = 0; x < m_Width; x++ )
			{
				DWORD ElevRefPt = (DWORD)(x*m_TessLevel+y*m_Width*m_TessLevel*m_TessLevel+(y*m_TessLevel));
				float WidthInVerts = (m_Width+0.5f)*2;
				glBindTexture  ( GL_TEXTURE_2D, m_Texture[m_TextureData[x+y*m_Width]] );
				for ( float yTess = 0; yTess < m_TessLevel; yTess++ )
				{
					for ( float xTess = 0; xTess < m_TessLevel; xTess++ )
					{
						glBegin(GL_QUADS);											//Use A Quad For Each Character

						glTexCoord2f((xTess-2)/m_TessLevel,(yTess+0)/m_TessLevel);	//Texture Coord (Top Left)
						glVertex3f  (m_TileWidth*xTess,
									 -(m_TileWidth*yTess)+m_TileWidth,
									 m_TileHeight*m_ElevationData[(DWORD)(ElevRefPt+xTess+WidthInVerts*yTess)]);						//Vertex Coord (Top Left)

						glTexCoord2f((xTess-1)/m_TessLevel,(yTess+0)/m_TessLevel);	//Texture Coord (Top Right)
						glVertex3f  (m_TileWidth*xTess+m_TileWidth,
									 -(m_TileWidth*yTess)+m_TileWidth, 
									 m_TileHeight*m_ElevationData[(DWORD)(ElevRefPt+xTess+WidthInVerts*yTess+1)]);					//Vertex Coord (Top Right)

						glTexCoord2f((xTess-1)/m_TessLevel,(yTess-1)/m_TessLevel);	//Texture Coord (Bottom Right)
						glVertex3f  (m_TileWidth*xTess+m_TileWidth,
									 -(m_TileWidth*yTess),
									 m_TileHeight*m_ElevationData[(DWORD)(ElevRefPt+xTess+WidthInVerts*yTess+1+WidthInVerts)]);		//Vertex Coord (Bottom Right)

						glTexCoord2f((xTess-2)/m_TessLevel,(yTess-1)/m_TessLevel);	//Texture Coord (Bottom Left)
						glVertex3f  (m_TileWidth*xTess,
									 -(m_TileWidth*yTess),
									 m_TileHeight*m_ElevationData[(DWORD)(ElevRefPt+xTess+WidthInVerts*yTess+WidthInVerts)]);		//Vertex Coord (Bottom Left)

						glEnd();													//Done Building Our Tile
					}
				}
				glTranslatef( m_TileWidth*m_TessLevel, 0, 0 );						//Move right one tile...
			}//x
			glTranslatef( -m_TileWidth*m_Width*m_TessLevel, 0, 0 );					//The carriage return...
			glTranslatef( 0, -m_TileWidth*m_TessLevel, 0 );							//and the feed!
			}//y
	}
	glEndList();																		// Done Building The Display List
